//app.js
App({
  // 摇一摇
  // shakeOneShake: function () {

  //   var numX = 0.5 // x轴
  //   var numY = 0.5 // y轴
  //   var numZ = 0 // z轴
  //   var stsw = true // 开关，保证在一定的时间内只能是一次，摇成功
  //   var positivenum = 0 //正数 摇一摇总数

  //   wx.onAccelerometerChange(function (res) {  // 小程序api 加速度计

  //     if (numX < res.x && numY < res.y) {  // 个人看法，一次正数算摇一次，还有更复杂的
  //       positivenum++
  //       setTimeout(() => { positivenum = 0 }, 3000) // 计时三秒内没有摇到指定次数，重新计算
  //     }
  //     if (numZ < res.z && numY < res.y) { // 可以上下摇，上面的是左右摇
  //       positivenum++
  //       setTimeout(() => { positivenum = 0 }, 3000) // 计时三秒内没有摇到指定次数，重新计算
  //     }
  //     if (numX < res.x && numZ < res.z) {  // 
  //       positivenum++
  //       setTimeout(() => { positivenum = 0 }, 3000) // 计时三秒内没有摇到指定次数，重新计算
  //     }

  //     if (positivenum == 1 && stsw) { // 是否摇了指定的次数，执行成功后的操作
  //       stsw = false
  //       setTimeout(() => {
  //         positivenum = 0 // 摇一摇总数，重新0开始，计算
  //         stsw = true
  //       }, 3000)

  //       console.log("JUMP" + res.x + ', ' + res.y + ',' + res.z)
  //       wx.vibrateLong();
  //       wx.navigateTo({
  //         url: '../index/pocker'
  //       })

  //     }
  //   })
  // },




  shakeOneShake: function () {
    const innerAudioContext = wx.createInnerAudioContext()
    //摇晃的力度
    var SHAKE_THRESHOLD = 120;
    var last_update = 0;  
    var x = 0;
    var y = 0;
    var z = 0;
    var last_x = 0;
    var last_y = 0;
    var last_z = 0;
    var stsw = true // 开关，保证在一定的时间内只能是一次，摇成功
    wx.onAccelerometerChange(function (res) {  // 小程序api 加速度计
      var curTime = new Date().getTime();
      if ((curTime - last_update) > 100) {
        var diffTime = curTime - last_update;
        last_update = curTime;
        x = res.x;
        y = res.y;
        z = res.z;
        var speed = Math.abs(x + y + z - last_x - last_y - last_z) / diffTime * 10000;
        last_x = x;
        last_y = y;
        last_z = z;
        // console.log("speed=" + speed)
        //如果速度大于摇晃的力度 
        if (speed > SHAKE_THRESHOLD && stsw) {
          stsw = false
          console.log('开始播放')
          innerAudioContext.autoplay = true
          innerAudioContext.src = 'pages/audio/shake_sound_male.mp3'
          innerAudioContext.onPlay(() => {
            // console.log('开始播放')
          })
          // console.log("JUMP" + res.x + ', ' + res.y + ',' + res.z)
          // wx.vibrateLong();
          setTimeout(() => {
            stsw = true
          }, 3000)
          wx.redirectTo({
            url: '../index/pocker'
          })
        }
      } 
    })
    wx.stopAccelerometer();  
  },


  onLaunch: function () {
    this.shakeOneShake()
    // 展示本地存储能力
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)

    // 登录
    wx.login({
      success: res => {
        // 发送 res.code 到后台换取 openId, sessionKey, unionId
      }
    })
    // 获取用户信息
    wx.getSetting({
      success: res => {
        if (res.authSetting['scope.userInfo']) {
          // 已经授权，可以直接调用 getUserInfo 获取头像昵称，不会弹框
          wx.getUserInfo({
            success: res => {
              // 可以将 res 发送给后台解码出 unionId
              this.globalData.userInfo = res.userInfo

              // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
              // 所以此处加入 callback 以防止这种情况
              if (this.userInfoReadyCallback) {
                this.userInfoReadyCallback(res)
              }
            }
          })
        }
      }
    })
  },
  globalData: {
    userInfo: null,
    finalResult: {}
  }





})